const servers = require.context('./', true, /\.js$/); // 引入当前目录下所有js服务
const installApi = {};
servers.keys().forEach(file => {
	// index文件不参与注册
	if (!['./index.js'].includes(file)) {
		const fileServers = servers(file);
		// 开发环境匹配是否有重复服务
		if(process.env.NODE_ENV === 'development'){
			const installKeys = Object.keys(installApi);
			for(let key in fileServers) {
				if (installKeys.includes(key)) {
					throw Error(`${key}--服务重复注册!!!`);
					break;
				}
				installApi[key] = fileServers[key];
			}
			// 生产环境 直接克隆
		}else{
			Object.assign(installApi, fileServers);
		}
	}
});

const install = (Vue, vm) => {
	// 把服务挂载至Vue
	Vue.prototype.$api = installApi;
}

export default {
	install
}
